package com.wyzz.hr.pojo.base;

import java.io.Serializable;

import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Ouperfcriteria;
import com.wyzz.hr.pojo.PositionBase;

public abstract class BaseOuperfcriteria implements Serializable {

	public BaseOuperfcriteria() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseOuperfcriteria(String id) {
		hashCode = 0x80000000;
		setId(id);
		initialize();
	}

	public BaseOuperfcriteria(String id, String oupName, Integer oupRate,
			Integer oupSortId) {
		hashCode = 0x80000000;
		setId(id);
		setOupName(oupName);
		setOupRate(oupRate);
		setOupSortId(oupSortId);
		initialize();
	}

	protected void initialize() {
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
		hashCode = 0x80000000;
	}

	public String getOupName() {
		return oupName;
	}

	public void setOupName(String oupName) {
		this.oupName = oupName;
	}

	public Integer getOupRate() {
		return oupRate;
	}

	public void setOupRate(Integer oupRate) {
		this.oupRate = oupRate;
	}

	public Integer getOupSortId() {
		return oupSortId;
	}

	public void setOupSortId(Integer oupSortId) {
		this.oupSortId = oupSortId;
	}

	public Department getOupDept() {
		return oupDept;
	}

	public void setOupDept(Department oupDept) {
		this.oupDept = oupDept;
	}

	public PositionBase getOupPb() {
		return oupPb;
	}

	public void setOupPb(PositionBase oupPb) {
		this.oupPb = oupPb;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Ouperfcriteria))
			return false;
		Ouperfcriteria ouperfcriteria = (Ouperfcriteria) obj;
		if (null == getId() || null == ouperfcriteria.getId())
			return false;
		else
			return getId().equals(ouperfcriteria.getId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Ouperfcriteria";
	public static String PROP_OUP_DEPT = "oupDept";
	public static String PROP_OUP_RATE = "oupRate";
	public static String PROP_OUP_SORT_ID = "oupSortId";
	public static String PROP_OUP_PB = "oupPb";
	public static String PROP_OUP_NAME = "oupName";
	public static String PROP_ID = "id";
	private int hashCode;
	private String id;
	private String oupName;
	private Integer oupRate;
	private Integer oupSortId;
	private Department oupDept;
	private PositionBase oupPb;

}
